{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.init as init\n",
    "import torch.nn.functional as functional\n",
    "\n",
    "torch.set_default_dtype(torch.float32)\n",
    "import torch.optim as optim\n",
    "import pickle\n",
    "import math\n",
    "# from sys import exit\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import datasets\n",
    "\n",
    "import os,sys,inspect\n",
    "currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))\n",
    "parentdir = os.path.dirname(currentdir)\n",
    "sys.path.insert(0,parentdir) \n",
    "\n",
    "from generative_model import realnvpfc_model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Three examples of 2D toy loglikelihood"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Example 1 - Gaussian mixture\n",
    "x1, y1, a1, sigma1 = -0.5, -0.5, 1, 0.4\n",
    "x2, y2, a2, sigma2 = -0.5, 0.5, 1, 0.4\n",
    "x3, y3, a3, sigma3 = 0.5, -0.5, 1, 0.4\n",
    "x4, y4, a4, sigma4 = 0.5, 0.5, 1, 0.4\n",
    "log_prob1 = lambda x, y: torch.log(a1 * torch.exp(-1/sigma1**2*((x-x1)**2+(y-y1)**2)) + \\\n",
    "                        a2 * torch.exp(-1/sigma2**2*((x-x2)**2+(y-y2)**2)) + \\\n",
    "                        a3 * torch.exp(-1/sigma3**2*((x-x3)**2+(y-y3)**2)) + \\\n",
    "                        a4 * torch.exp(-1/sigma4**2*((x-x4)**2+(y-y4)**2)))\n",
    "\n",
    "# Example 2 - double crescent\n",
    "log_prob2 = lambda x, y: -0.5 * ((torch.sqrt((4*x)**2 + (4*y)**2)-2)/0.6)**2 + \\\n",
    "                        torch.log(torch.exp(-0.5 * (4*x-2)**2/0.6**2)+torch.exp(-0.5 * (4*x+2)**2/0.6**2))\n",
    "\n",
    "# Example 3 - sinusoidal\n",
    "log_prob3 = lambda x, y: -0.5 * ((4*y - torch.sin(2*np.pi*x))/0.4)**2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Training a normalizing flow to approximate probability function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch: 299, loss: 3.72212\n",
      "epoch: 599, loss: 3.71506\n",
      "epoch: 899, loss: 3.56304\n",
      "epoch: 1199, loss: 3.57376\n",
      "epoch: 1499, loss: 3.59937\n",
      "epoch: 1799, loss: 3.66617\n",
      "epoch: 2099, loss: 3.64357\n",
      "epoch: 2399, loss: 3.63058\n",
      "epoch: 2699, loss: 3.54678\n",
      "epoch: 2999, loss: 3.63410\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(<Figure size 432x288 with 1 Axes>,\n",
       " [<matplotlib.lines.Line2D at 0x7fe380ea0fd0>],\n",
       " Text(0.5, 0, 'epochs'),\n",
       " Text(0, 0.5, 'loss'))"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "loss_func = lambda x, y: -log_prob1(x, y) # select the likelihood function to estimate\n",
    "\n",
    "# Define the architecture of normalizing flow\n",
    "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")#torch.device(\"cpu\")#\n",
    "\n",
    "affine = True\n",
    "n_flow = 16#8#32\n",
    "generator = realnvpfc_model.RealNVP(2, n_flow, affine=affine, seqfrac=1/128).to(device)\n",
    "\n",
    "# define the optimizer\n",
    "optimizer = optim.Adam(generator.parameters(), lr = 1e-5)\n",
    "\n",
    "n_epoch = 3000 # number of optimization steps\n",
    "diversity = 1 # weight of the diversity loss\n",
    "n_samples = 512 # number of samples in each optimization step\n",
    "\n",
    "# start optimization\n",
    "loss_list = []\n",
    "sample_list = []\n",
    "for k in range(n_epoch):\n",
    "    x_samples_transformed, logdet = generator.reverse(torch.randn((n_samples, 2)).to(device))\n",
    "    x_samples = 2 * torch.sigmoid(x_samples_transformed) - 1\n",
    "    det_sigmoid = torch.sum(-x_samples_transformed - 2 * torch.nn.Softplus()(-x_samples_transformed), -1)\n",
    "    logdet = logdet + det_sigmoid\n",
    "\n",
    "    loss = torch.mean(loss_func(x_samples[:, 0], x_samples[:, 1]) - diversity * logdet)\n",
    "    loss_list.append(loss.detach().cpu().numpy())\n",
    "\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    nn.utils.clip_grad_norm_(generator.parameters(), 1e-5)\n",
    "    optimizer.step()\n",
    "\n",
    "    if (k + 1) % 300 == 0:\n",
    "        print(f\"epoch: {k:}, loss: {loss.item():.5f}\")\n",
    "        sample_list.append(x_samples.detach().cpu().numpy())\n",
    "\n",
    "plt.figure(), plt.plot(loss_list), plt.xlabel('epochs'), plt.ylabel('loss')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5, 0, 'Learned distribution')]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x288 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "generator.training = False\n",
    "fig, axs = plt.subplots(1, 3, figsize=(16, 4))\n",
    "\n",
    "# plot generative samples\n",
    "x_samples_transformed, logdet = generator.reverse(torch.randn((n_samples, 2)).to(device))\n",
    "x_samples = 2 * torch.sigmoid(x_samples_transformed) - 1\n",
    "x_generated = x_samples.detach().cpu().numpy()\n",
    "# plt.figure(), plt.plot(x_generated[:, 0], x_generated[:, 1], 'rx')\n",
    "# plt.title('Generative samples')\n",
    "axs[0].plot(x_generated[:, 0], x_generated[:, 1], 'rx')\n",
    "axs[0].set(xlabel='Generative samples')\n",
    "\n",
    "# plot the ground-truth distribution\n",
    "x_range = np.arange(-0.95, 0.95, 0.05)\n",
    "y_range = np.arange(-0.95, 0.95, 0.05)\n",
    "\n",
    "X, Y = np.meshgrid(x_range, y_range)\n",
    "value = loss_func(torch.tensor(X), torch.tensor(Y)).numpy()\n",
    "Z = np.array(value)\n",
    "prob_true = np.exp(-Z) / np.sum(np.exp(-Z))\n",
    "\n",
    "# fig = plt.figure(figsize=(6,5))\n",
    "# left, bottom, width, height = 0.1, 0.1, 0.8, 0.8\n",
    "# ax = fig.add_axes([left, bottom, width, height]) \n",
    "# cp = plt.contourf(X, Y, prob_true, 40)\n",
    "# cp = plt.contour\n",
    "# cp = plt.colorbar()\n",
    "# plt.title('Groud-truth distribution')\n",
    "im = axs[1].contourf(X, Y, prob_true, 40)\n",
    "cbar = fig.colorbar(im, ax=axs[1])\n",
    "cbar.ax.tick_params(labelsize=8)\n",
    "axs[1].set(xlabel='Groud-truth distribution')\n",
    "\n",
    "# plot the learned distribution\n",
    "X_reshape = X.reshape((-1, 1))\n",
    "Y_reshape = Y.reshape((-1, 1))\n",
    "XY_reshape = np.concatenate([X_reshape, Y_reshape], -1).astype(np.float32)\n",
    "XY_reshape_torch = torch.tensor(XY_reshape).to(device)\n",
    "XY_reshape_transoformed = torch.log(1+XY_reshape_torch+1e-8) - torch.log(1-XY_reshape_torch+1e-8)\n",
    "random_samples, logdet = generator.forward(XY_reshape_transoformed)\n",
    "det_sigmoid = torch.sum(XY_reshape_transoformed + 2 * torch.nn.Softplus()(-XY_reshape_transoformed), -1)\n",
    "logdet = logdet + det_sigmoid\n",
    "\n",
    "\n",
    "logprob = logdet.cpu().detach().numpy() - 0.5 * np.sum((random_samples.cpu().detach().numpy())**2+np.log(2*np.pi), -1)\n",
    "logprob = logprob.reshape(X.shape)\n",
    "prob = np.exp(logprob) / np.sum(np.exp(logprob))\n",
    "\n",
    "# fig = plt.figure(figsize=(6,5))\n",
    "# left, bottom, width, height = 0.1, 0.1, 0.8, 0.8\n",
    "# ax = fig.add_axes([left, bottom, width, height]) \n",
    "# cp = plt.contourf(X_reshape.reshape((len(x_range), len(y_range))), Y_reshape.reshape((len(x_range), len(y_range))), prob, 40)\n",
    "# cp = plt.contour\n",
    "# cp = plt.colorbar()\n",
    "# plt.title('Learned distribution')\n",
    "im = axs[2].contourf(X_reshape.reshape((len(x_range), len(y_range))), Y_reshape.reshape((len(x_range), len(y_range))), prob, 40)\n",
    "cbar = fig.colorbar(im, ax=axs[2])\n",
    "cbar.ax.tick_params(labelsize=8)\n",
    "axs[2].set(xlabel='Learned distribution')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
